package com.harveyguo.nihonngo.service;

import com.harveyguo.nihonngo.model.dto.CoachDto;
import com.harveyguo.nihonngo.model.entity.Coach;

import java.util.List;

/**
 * 教练Service接口
 */
public interface CoachService {

    /**
     * 创建教练
     */
    CoachDto createCoach(CoachDto coachDto);

    /**
     * 根据ID查找教练
     */
    CoachDto findById(String id);

    /**
     * 查找所有教练
     */
    List<CoachDto> findAll();

    /**
     * 根据拳馆ID查找教练
     */
    List<CoachDto> findByGymId(String gymId);

    /**
     * 根据认证状态查找教练
     */
    List<CoachDto> findByVerified(Boolean isVerified);

    /**
     * 根据专长查找教练
     */
    List<CoachDto> findBySpeciality(String speciality);

    /**
     * 查找附近的教练
     */
    List<CoachDto> findNearbyCoaches(Double latitude, Double longitude, Double radius);

    /**
     * 更新教练信息
     */
    CoachDto updateCoach(String id, CoachDto coachDto);

    /**
     * 删除教练
     */
    void deleteCoach(String id);

    /**
     * 认证教练
     */
    CoachDto verifyCoach(String id);
}